Updates, fixes, add new test and improves