added rudimentary theme engine