tests have been added, should work properly now.