Added new files to support additional functionality, specifically everything for mklp

This code has all been used multiple times in different (small)
projects.