add action and run methods
closer to standard api