#258 fixing implementation
#258 fixing design