extending implementation, bugfixes