posts as a mapping instead of array