escapable whitespace + stuff

don't use compatibility module
better error messages
removed redundant code
fixed a whitespace stuff