Sprite Functionality

second attempt