Fixing design

added methods to some classes, edited some to make more elegant