first implementation of sprite