Tidy up and use redis for caching
move requirements around