refactored, added some display methods