updating based on tutorial