Enhanced & added tests