style parser using promises