Split too "long method" to make things clearer.