Got surf features working-ish, needs cleanup though