Many tests and methods added for unit-testing