works as intended, but not beautiful