refactor postadapter