added subclasses for chunk, broke Chunk out to new file