First take of implementing persistence layer