working
working on space optimization
fix space optimization