This is a work in progress so please give me some time :)