recursion through oil implemented
merging with kevins sound update