[#369] added a `setShape()` function to change the current shape, and other small improvements/fixes

note that currently we anyway only support one shape... but at least
it's there :)