initial flesh out from prototype