Now working, need lots of tweeks