[0.7] Resolves #24 and #4. Implements backend for #7. Work done on #6. Very small amount of work done on #2