Refactored into dynamically generated Fragments