Mostly functional now