I think it both functions and is decently efficient