added loads of code
updated plan