got abstraction case to work but I don't know how we'll do application