refactor to release