need to think of a good way to handle directory