more work on basic assembly generation