All functionality implemented, bug fixes an edge-cases left to fix.