a lot of updates to start working on this