added more fp stuff and some extra utils