Mostly working. Needs arduino port