updated with initial design