This works for now, we'll need protos to get this to function better.