revamp execute() to use POST instead of GET

fixes #1