remove immutable, little optimizations
try out flowtype