updated still lots of bugs..