state machines and more
restructered it all
Merge branch 'master' of https://github.com/AhmedAA/BDSA