How to create complex non-sequential objects