add component/css support. Closes #29