This merge should solve the implementation part of #2 (closed) and #11 (closed). These might require more tests later on though.