implement Action, improve Ball method