refactor according to google standards