refactor each methods to map methods