implementing attributes