starting to make optimizations