Recently, action language BC, which combines the attractive features of action languages B and C+, was proposed. While BC allows Prolog-style recursive definitions that are not available in C+, it is less expressive than C+ in other ways, such as inability to express non-Boolean and non-exogenous actions. We propose a new action language called BC+, which encompasses all the features of BC and the definite fragment of C+. The syntax of BC+ is identical to the syntax of C+ allowing arbitrary propositional formulas in the causal laws, but its semantics is defined in terms of propositional formulas under the stable model semantics instead of nonmonotonic causal theories. This approach allows many useful ASP constructs, such as choice rules and aggregates, to be directly used in language BC+, and exploits computational methods available in ASP solvers.