Pulled out classes into different files