make it more smart