use private/protected idented convention