Commit 4 by C4R15 - part 4 started(pt3 dev later)