refactored action builders and moved the action definitions into annotations