enhance file layout and add mongoose