Implemented slightly better design logic