* created LGitId to have a real id objecet to work with instead of converting from / to struct* added new abstract struct class