Copied in classes from WPiOS temporarily to allow me to fully build