Refactored to more solid layout approach