moved to dynamic style generation