need to check better solution