modifying visibility to allow extending