added a bit more organization