a little better design )))