added (fully functional) tests