this doesn't look nice, but I do not have idea how to make it better