[#6] Implemented additional features and added tests