extensions moved to a class