7/11 done but very bad .. will be refactured