refractor to com.devsmart