adding yet another data-hydrated object: Entry

my implementation is a bit dirty :P