todo: swish-e support
fixed some bugs