cleaner code, no fix in ep30 yet
almost