remove redundant abstractions