adapted to project coding style