A bunch of additions, still haven't even tested it