keep the constructor within prototype