Add built in methods and Refactor