Roughly working, some energy conservation issues tho!