updated model with business logic for slugs