testing out abstraction