complete market api and modify hold api