the simple implementation