encapsulating stuff to provide a better overview