is public really needed here?