Integrated all functions into objects