Created by: juga0
WIP for #79 (closed). Feel free to wait i complete more, or merge and then we comple...