Adds fully functional version