added some basic structure implementations