coding style revised