make sprite more flexible