updated prototype
various updates from prototype