cleanup and additional features