Refactor execute to accept options