refactoring, attempts to implement Parcelable correctly