did some rework, need to remove alot