move actual execution to prepare