tambah test dan refactoring API untuk memudahkan test