close to encapsulating everything that needs to be done for best fit