Added most and least options
Moved data structres to seperate .hpp files