added ball, paddle, and input handling