take and make 100% functional