better simplification although too verbose