implemented page struct, added additional synching