Closes #13 Closes #12 Closes #11 Reviewed-on: #14 Co-authored-by: stuzer05 <stuzer05@stuzer.link> Co-committed-by: stuzer05 <stuzer05@stuzer.link>