merge with branch memory
better code heirarchy, more todos