Added aliases and comparisons are case insensitive

Also refactored some of the code and intented pub:fmi
It looks much prettier now.