Adding bunch of stuff i've forgotten about