now can create universal framework