Ported mvn and persistance layer