Started actually using this and realized there were bugs.