No framework needed