splitted up the classes into files and adapted to google coding style