made themes more consistent with appcompat/android, use colours from theme programatically
refactor code for better reusability