structure
finished post functionality