refactor to comply with google standarda