refactor tutorial into a separate package