finished heroic rewrite. need to update interface