try out some possible performance improvements
fix whitespace