[-] Combined code

Combined Sonny's code with my current code. No source files changed.