Ugly hacky implementation just for the sake of it
Refactor ugly hacks to something more sane
Update documentation to match the changed behavior