Added more methods and data storage structures