simple implementation for custom views