major improvements, still got few work to do tho