Too lazy to do this properly
I haven't really tested this yet.