Ok, these are kinda hacky but they do implement a skeleton that a real implementation can be based upon.