floor generation