fix id generation
fix required props