probably can change these attributes to private final.