framework-free