introducing abstractions for pos. actions