what a tedious API...