slowly working out API for dynamics