restructure, im still not happy with how the way things are set up but this can be dealt with later