refactor and sample
sprite