added styleWith + refactor