Main #Private Parts