add tests and removed someuseless use and bundle construct