can now implement full data structure (only no transfers)