added simple implementation