no reason for these declarations to be public by default
declarations should be private